The present invention relates generally to storage area networks, and more particularly to a comprehensive, end-to-end storage area network (SAN) application transport service.
With the advent of and growth of the Internet, the availability of data has become increasingly important. Many corporations need access to their data during most, if not all, hours of the day. For example, people may be searching the web for a particular piece of information at any time of day. If the information is associated with a corporation's web site, the corporation may lose customers if their web site is not functioning properly or if the data cannot be retrieved at the time of search. As a result, data storage and availability have become extremely important to businesses in today's competitive landscape.
Data storage devices may fail as a result of system malfunctions, weather disasters, or other types of unforeseen conditions. Corporations typically have a remote backup storage device to ensure data availability when a local storage device fails. Data redundancy is also referred to as data mirroring and typically involves the submission of simultaneous write requests to multiple storage devices (i.e., the local and remote data storage devices).
Typically, in a data mirroring arrangement, a server is attached or connected to a local data storage device as well as to a remote data storage device with the data from each storage device mirroring that of another (or each other).
The distance at which data can reliably be transmitted to a remote storage device also becomes relevant to performance of a data storage network and data security. Specifically, the shorter the distance between a server and data sites, the more quickly the data can be synchronized at the data sites. Maintaining synchronization between data at mirrored sites is often highly desirable. Synchronization is the ability for data in different data sites to be kept up-to-date so that each data store contains the same information. One way to accomplish synchronization is by all mirrored storage devices acknowledging receipt of an input/output (I/O) request from a requesting application before the application may generate the next I/O request. As the distance between mirrored sites increases, synchronization becomes harder to achieve using existing mirroring techniques as the application generating the I/O request is slowed while awaiting acknowledgment from the remote storage device.
It is possible to obtain synchronization using existing techniques if the physical distance between the mirrored sites is less than approximately twenty-five (25) miles (i.e., 40 km). For greater distances, existing techniques may not provide the synchronization that is needed for maintaining data security in case of a wide-spread calamity.
Also, the greater the distance between the mirrored sites, the less likely a situation (e.g., a weather disaster or a system failure) will affect both the local storage device and the remote storage device. Further, when data is transported over increasing distances, the throughput associated with the data transfer traditionally experiences “throughput droop”. Throughput is defined as the amount of data that can be transmitted across a data channel at any given time. Throughput is often represented graphically relative to distance. Throughput droop is when a throughput curve goes down or “droops” as the transport distance increases. Thus, in order to transmit the maximum amount of data over a data channel, the distance between the server and the remote storage device must often be kept within a reasonable distance (e.g., 25 miles).
A transport interruption event is another problem that may be experienced during data transmission to a remote storage device. This occurs when there is a failure in the data channel. After the failure is recognized, the transmitting party (e.g., server) may then switch the channel used to transmit the data. This is referred to as a switch-to-protect event. When performing this data channel switch, the server has to synchronize the communications with the remote storage device over the new data channel. This resynchronization (after the initial synchronization over the initial data channel) and switching to the new data channel traditionally introduces a disruption (e.g., 40 milliseconds) in the data transmissions until the synchronization is complete.
Thus, there remains a need to provide a comprehensive storage area network (SAN) application transport service that solves the above-mentioned problems.